package com.css.fxfzysx.modules.cztDataMange.repository;

import com.css.fxfzysx.base.response.RestResponse;
import com.css.fxfzysx.modules.cztDataMange.entity.*;
import com.css.fxfzysx.modules.cztDataMange.vo.ExportRcpExcelSheet1Vo;
import com.css.fxfzysx.modules.cztDataMange.vo.QueryBacInformationVo;
import com.css.fxfzysx.modules.cztDataMange.vo.QueryBasicVo;
import com.css.fxfzysx.modules.cztDataMange.vo.RcpInformationVo;
import com.css.fxfzysx.modules.vabStructure.entity.CztCrsCalRoofbeamResult;
import com.css.fxfzysx.modules.vabStructure.entity.CztCrsEntiretyCalResult;
import com.css.fxfzysx.modules.vabStructure.entity.cztSeismicTimeHistoryEntity;
import com.css.fxfzysx.modules.vabStructure.param.CustomVulnerabilityParam;
import com.css.fxfzysx.modules.vabStructure.param.MatchingParam;

import java.util.HashMap;
import java.util.List;

public interface BacInformationRepository {
    void saveBvInformation(CbvInfoEntity cbvInfoEntity);

    void savePobStructure(CbcpInfoEntity cbcpInfoEntity);
    void savePobStructure1(CbcbInfoEntity entity);
    void savePobStructure2(CbcbDetailEntity entity);

    void saveRcpInformation(RcpInformationEntity rcpInformationEntity);

    void saveCountHbpInfo(HbpInfoEntity it);

    void savePsaData(CpvAnalysisEntity datum);

    void saveCpvInfoEntity(CpvInfoEntity entity);

    void saveCpvResultEntity(CpvResultEntity entity);

    void updateCbv(CbvInfoEntity cbvInfo);

    void updateCbc(CbcpInfoEntity cbcInfo);
    void updateCbcbInfo(CbcbInfoEntity entity);
    void updateCbcbDetail(CbcbDetailEntity entity);

    void updateRcp(RcpInformationEntity rcpInfo);

    void updateHbp(HbpInfoEntity hbpInfo);

    void updateCpv(CpvAnalysisEntity cpvInfo);

    void updateCpvInfoEntity(CpvInfoEntity entity);

    boolean deleteCbvById(String id,String province);

    boolean deleteCbcbiById(String id);
    boolean deleteCbcbDetailById(String cbcbiId);
    boolean deleteCbcById(String id);

    boolean deleteRcpById(String id);

    boolean deleteHbpById(String id);

    boolean deleteCpvById(String id);

    CbcpInfoEntity getCbcById1(String id);
    CbcbInfoEntity getCbcbiById(String id);
    CbcbDetailEntity getCbcbDetailById(String id);
    List<CbcbDetailEntity> getCbcbdById(String cbcbiId);

    HbpInfoEntity getHbpById(String id);

    CbvInfoEntity getCbvInfoById(String id,String province);

    CpvInfoEntity getCpviById(String id);

    HashMap<String,Object> queryBacInformation(QueryBacInformationVo queryBacInformationVo, int page, int size);

    int getBuildingDataByProvince(String province);

    int getBrickDataByProvince(String province);
    int getBrickDataByProvince1(String province);

    int getConcreteDataByProvince(String province);

    int getHighDataByProvince(String province);

    int getBuildingHistoryDataByProvince(String province);

    List<CpvAnalysisEntity> getCpvAnalysisEntityByCpviId(String cpviId);

    List<CpvResultEntity> getCpvResultEntityByCpviId(String cpviId);

    void updatePsaData(CpvAnalysisEntity cpvAnalysisEntity);

    void moveBasicLibraryById(String dataId, String operate);

    void saveBvInformationValue(CbvInfoMatrixValueEntity cbvInfoValueEntity);

    void moveCbvBasicLibraryById(String dataId, String operate,String province);

    void saveCurveValueEntity(CbvInfoCurveValueEntity cbvInfoCurveValueEntity);

    List<CbvInfoMatrixValueEntity> getMatrixByProjectId(String id);

    List<CbvInfoCurveValueEntity> getCbvInfoValueByProjectId(String id);

    List<ExportRcpExcelSheet1Vo> getRcpInformationById(String id);

    List<Integer> queryBasicLibraryById(String id,String province);

    void saveSeismicTimeHistory(cztSeismicTimeHistoryEntity it);

    void updateMatrixById(CbvInfoMatrixValueEntity entity);

    List<QueryBasicVo> queryBasicLibrary(CustomVulnerabilityParam param);
}
